<?php
/**
 * 逗号转移整形
 * @param unknown $str
 * @return string
 */
function commaToInt($str){
    if(empty($str))return $str;
    $str = explode(',',$str);
    $str = array_filter($str);
    $tmp = array();
    foreach ($str as $val){
        $d = intval($val);
        if(!empty($d))$tmp[] = $d;
    }
    return implode(',',$tmp);
}
/**
 * 合并数组
 * @param unknown $arr_master
 * @param unknown $k
 * @return multitype:
 */
function arrayMerge($arr_master,$k){
    $args = func_get_args();
    if(!empty($arr_master) && !empty($k)){
        foreach ($arr_master as $key=>$val){
            if(empty($val[$k]))continue;
            for ($i=2;$i<count($args);$i++){
                if(!is_array($args[$i]) || empty($args[$i]))continue;
                if(!empty($args[$i][$val[$k]]) || is_array($args[$i][$val[$k]])){
                    $arr_master[$key] = array_merge($val,$args[$i][$val[$k]]);
                }
            }
        }
    }
    return $arr_master;
}
/**
 * 添加数组
 * @param unknown $arr_master
 * @param unknown $k
 * @return multitype:
 */
function arrayAdd($arr_master,$k,$v){
    $args = func_get_args();
    if(!empty($arr_master) && !empty($k)){
        foreach ($arr_master as $key=>$val){
            if(empty($val[$k]))break;
            for ($i=3;$i<count($args);$i++){
                if(!is_array($args[$i]) || empty($args[$i]))break;
                $arr_master[$key][$v] = array();
                if(!empty($args[$i][$val[$k]])){
                    $arr_master[$key][$v] = $args[$i][$val[$k]];
                }
            }
        }
    }
    return $arr_master;
}
/**
 * 重设键，转为array(key=>array())
 * 
 * @param array $arr            
 * @param string $key            
 * @param boolean $isMore            
 * @return array
 */
function restByKey ($arr, $key, $isMore = false) {
    $re = array();
    if (!$isMore) {
        foreach ($arr as $v) {
            $tmp = $v[$key];
            unset($v[$key]);
            $re[$tmp] = $v;
        }
    } else {
        foreach ($arr as $v) {
            $tmp = $v[$key];
            unset($v[$key]);
            $re[$tmp][] = $v;
        }
    }
    return $re;
}

/**
 * 获取map,转为k-v格式
 * 
 * @param
 *            $arr
 * @param
 *            $key
 * @param
 *            $value
 * @return array
 */
function toKeyValue ($arr, $key, $value) {
    $re = array();
    foreach ($arr as $v) {
        $re[$v[$key]] = $v[$value];
    }
    return $re;
}

/**
 * 从二维数组中取出自己要的KEY值 
 * @param 原数据 $arrData
 * @param key $key
 * @param 是否组成新数组 $isnew
 * @param $im true返回逗号分隔
 * @return array
 */
function filterValue ($arrData,$key,$im=false) {
    $re = array();
    foreach ($arrData as $k => $v) {
        if(isset($v[$key]))$re[] = $v[$key];
    }
    if(!empty($re)){
        $re = array_flip(array_flip($re));
        sort($re);
    }
    return $im? implode(',',$re) : $re;
}
/**
 * 
 * @param array $arrData
 * @param 数量  $Nums
 * @return multitype:|multitype:unknown
 */
function getRandValue($arrData,$Nums){
   
    if(!is_array($arrData)){
        return array();
    }
    $Nums = ($Nums>count($arrData))?count($arrData):$Nums;
	$re = array();
	if($Nums <2){
	  return $arrData;
	}
	if(count($arrData) == $Nums){
	    shuffle($arrData);
	    return $arrData;
	}
	$keys = array_rand($arrData,$Nums);
	foreach ($keys as $v){
	   $re[$v]=$arrData[$v];
	}
	return $re;
}